home *** CD-ROM | disk | FTP | other *** search
/ Softdisk Supreme / Softdisk Supreme.iso / pc / DSK Files / 0-49 / SD022a.dsk / ANSWER MAN.PROG.bas < prev    next >
BASIC Source File  |  2003-06-12  |  3KB  |  49 lines

  1. 0  REM ANSWER MAN.PROG
  2. 1  HOME :Q$ =  CHR$(34): PRINT  CHR$(4)"BLOADMENU.SCROLL": DIM SC%(2):SC%(1) = 768:SC%(0) =  -912:IN = 872: DIM M$(600):TP = 34:BOT = 35: GOSUB 11:SC = 0: POKE TP,4: POKE BOT,18: GOSUB 13: END 
  3. 2 SK = 49200: FOR SJ = 1 TO 4: FOR SH = SJ TO 5:SG =  PEEK(SK) - PEEK(SK) + PEEK(SK): NEXT SH,SJ:BC = BC +1: IF BC >2  THEN SC =   NOT SC: ON SC +1 GOSUB 7,6
  4. 3  RETURN 
  5. 4  VTAB VP: HTAB 20 - LEN(A$)/2: PRINT A$;: NORMAL : RETURN 
  6. 5  FOR A = 1 TO 40: PRINT "-";: NEXT : RETURN 
  7. 6  VTAB 21: HTAB 37: PRINT " ! ";: VTAB 23: HTAB 37: PRINT "\!/";: RETURN 
  8. 7  VTAB 21: HTAB 37: PRINT "/!\";: VTAB 23: HTAB 37: PRINT " ! ";: RETURN 
  9. 8 KB =  PEEK(49152): IF KB >127  THEN KB = KB -128: POKE 49168,0: GOTO 10
  10. 9  GOTO 8
  11. 10  RETURN 
  12. 11  HOME :A$ = "SOFTDISK ANSWER MAN":VP = 1: GOSUB 4:VP = 3:A$ = "LOADING ANSWERS": FLASH : GOSUB 4: HTAB 1: VTAB 4: GOSUB 5: HTAB 1: VTAB 19: GOSUB 5: PRINT Q$"P"Q$"ADVANCES TO NEXT PAGE": PRINT "SPACE BAR SCROLLS": PRINT "ANY KEY REVERSES SCROLL DIRECTION"
  13. 12  PRINT "<ESC> ESCAPES TO SOFTDISK": VTAB 20: HTAB 38: PRINT ".": FOR A = 21 TO 23: VTAB A: HTAB 38: PRINT "!": NEXT : VTAB 24: HTAB 38: PRINT "'";: ON SC +1 GOSUB 7,6: RETURN 
  14. 13  HOME : PRINT : ONERR  GOTO 15
  15. 14  PRINT  CHR$(4)"OPENANSWER MAN.TEXT": PRINT  CHR$(4)"READANSWER MAN.TEXT": FOR A = 0 TO 600: CALL IN,M$(A): IF M$(A) < >"!"  THEN  NEXT 
  16. 15 CM = A -1: POKE 216,0: IF   NOT CM  THEN CM = 199
  17. 16  PRINT : PRINT  CHR$(4)"CLOSE": GOSUB 38: ONERR  GOTO 18
  18. 17  GOSUB 19
  19. 18  RUN 
  20. 19  VTAB 20: HTAB 19: PRINT V$;: VTAB 24: HTAB 1: PRINT "PRESS "Q$"H"Q$" FOR HARDCOPY";
  21. 20  HOME : FOR ZC = 0 TO 12: PRINT M$(ZC): NEXT : PRINT M$(ZC);: VTAB 3: HTAB 33: PRINT ZC"   ";
  22. 21  GOSUB 8: IF KB = 32  THEN  GOSUB 29: GOSUB 29:KB = 0
  23. 22  IF KB = 27  THEN  TEXT : PRINT : PRINT  CHR$(4)"RUNKICK.IT.OFF"
  24. 23  IF KB = 72  THEN  GOSUB 33:KB = 0: GOTO 20
  25. 24 PP = 1
  26. 25  IF KB = 80  THEN  FOR N = PP TO 14: ON BC +1 GOSUB 29: NEXT :KB = 0: ON BC >0 GOSUB 48:BC = 0
  27. 26  IF (KB >47)  AND (KB <58)  THEN  GOSUB 39:KB = 0
  28. 27  IF KB  THEN  GOSUB 48
  29. 28  HTAB 33: VTAB 3: PRINT ZC"   ";: GOTO 21
  30. 29  IF SC  THEN  IF ZC >12  THEN  CALL 768: VTAB 5: HTAB 1:ZC = ZC -1:BC = 0: IF ZC >12  THEN  PRINT M$(ZC -13);: GOTO 32
  31. 30  IF   NOT SC  THEN  IF ZC <CM  THEN  CALL  -912: VTAB 18:ZC = ZC +1:BC = 0: HTAB 1: PRINT M$(ZC);: GOTO 32
  32. 31  GOSUB 2
  33. 32  RETURN 
  34. 33  HOME : PRINT  TAB( 16);"HARDCOPY": PRINT "TURN ON THE PRINTER AND PRESS <RETURN>": GET K$: IF K$ < > CHR$(13)  THEN 37
  35. 34  PRINT : PRINT  CHR$(4)"PR#1": FOR CH = 0 TO CM: IF (  NOT  LEN(M$(CH)))  OR (M$(CH) = " ")  THEN 36
  36. 35  PRINT M$(CH)
  37. 36  NEXT 
  38. 37  PRINT : PRINT  CHR$(4)"PR#0": RETURN 
  39. 38  VTAB 3: HTAB 1: PRINT "TARGET LINE / CURRENT LINE ===>";: RETURN 
  40. 39 K$ =  CHR$(KB):PP =  -1
  41. 40  VTAB 3: HTAB 33: PRINT K$"   ";: POKE 36, PEEK(36) -3: GET L$: IF (L$ <"0")  OR (L$ >"9")  THEN  IF L$ < > CHR$(13)  THEN 47
  42. 41  IF L$ =  CHR$(13)  THEN ZC =  VAL(K$): GOTO 44
  43. 42 K$ = K$ +L$: IF  LEN(K$) <4  THEN 40
  44. 43 K$ = "": GOTO 40
  45. 44 ZC = ZC -14: IF ZC <0  THEN ZC =  -1
  46. 45  IF ZC >CM -14  THEN ZC = CM -14
  47. 46 SC = 0: ON SC +1 GOSUB 7,6:KB = 80: POP :PP = PP +2: GOTO 25
  48. 47  RETURN 
  49. 48 SC =   NOT SC: ON SC +1 GOSUB 7,6: RETURN